/*
 * Niiuzu
 * Copyright (C) 2011  Thierry Nowak
 * 
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.niiuzu.shared.model;

import java.io.Serializable;

/**
 * Préférences de l'utilisateur permettant de récupérer les différents éléments
 * sauvegardés par l'utilisateur lors de ces précédentes visites.
 */
public class UserSettings implements Serializable {

	private static final long serialVersionUID = -7192231515455645479L;

	private User user;
	private FeedChannel[] channels;
	private FeedChannelGroup[] channelGroups;

	/**
	 * Construit une nouvelle instance de {@link UserSettings}.
	 */
	public UserSettings() {

	}

	/**
	 * Utilisateur connecté.
	 */
	public User getUser() {
		return user;
	}

	/**
	 * Définit l'utilisateur connecté.
	 */
	public void setUser(User user) {
		this.user = user;
	}

	/**
	 * Tableau de flux destinés à l'utilisateur. Ce tableau contiendra les flux
	 * qu'il aura créés lors de ces précédentes visites, ou encore des flux par
	 * défaut lors de sa première connexion.
	 */
	public FeedChannel[] getChannels() {
		return channels;
	}

	/**
	 * Définit un ensemble de flux destinés à l'utilisateur.
	 */
	public void setChannels(FeedChannel... channels) {
		this.channels = channels;
	}

	/**
	 * Tableau de thèmes destinés à l'utilisateur. Ce tableau contiendra les
	 * thèmes qu'il aura créés lors de ces précédentes visites, ou encore des
	 * thèmes par défaut lors de sa première connexion.
	 */
	public FeedChannelGroup[] getChannelGroups() {
		return channelGroups;
	}

	/**
	 * Définit un ensemble de thèmes destinés à l'utilisateur.
	 */
	public void setChannelGroups(FeedChannelGroup... channelGroups) {
		this.channelGroups = channelGroups;
	}
}
